#ifndef GAME_HPP_
#define	GAME_HPP_

#include "utils.hpp"

struct Game{
	const ID gameId;
	const ID makerId;
	const int rate;	
	/**
	 * C'tor
	 */
	Game(ID gameId,ID makerId, int rate);
	ID getId() const;
	bool isMadeBy(ID companyId) const;

	bool operator<(const Game& otherGame) const;
	bool operator==(const Game& otherGame) const;
	bool operator!=(const Game& otherGame) const;
};

Game getGameForComparison(ID id, int rate);

struct isGameIdEqualTo {
	ID idToCompareWith;
	isGameIdEqualTo(ID idToCompareWith) : idToCompareWith(idToCompareWith) {};
	bool operator() (Game& game) const {
		return (game.gameId == idToCompareWith);
	};
};

#endif /* GAME_H_ */
